/**
 * 鱼类公司默认配置数据初始化脚本
 * 运行命令: node scripts/init-fish-company-data.js
 */

const fs = require('fs');
const path = require('path');

// 鱼类公司的默认配置数据
const fishCompanyDefaultData = {
  // 关于我们主页企业官网样式配置
  about_main_section_title_en: 'About Us',
  about_main_section_title_es: 'Acerca de Nosotros',
  about_main_section_title_ja: '私たちについて',
  
  about_main_content_description_en: 'We are a professional aquaculture company dedicated to providing high-quality seafood products. With years of industry experience, we have established a complete supply chain from breeding to table, ensuring the freshness and safety of every product.',
  about_main_content_description_es: 'Somos una empresa acuícola profesional dedicada a proporcionar productos de mariscos de alta calidad. Con años de experiencia en la industria, hemos establecido una cadena de suministro completa desde la crianza hasta la mesa, asegurando la frescura y seguridad de cada producto.',
  about_main_content_description_ja: '私たちは高品質な海鮮製品の提供に専念するプロの水産養殖会社です。長年の業界経験により、養殖から食卓まで完全なサプライチェーンを確立し、すべての製品の新鮮さと安全性を保証しています。',

  about_main_features: JSON.stringify([
    {
      id: 'professional_team',
      text_en: 'Professional Aquaculture Team',
      text_es: 'Equipo Profesional de Acuicultura',
      text_ja: 'プロの水産養殖チーム',
      order: 1
    },
    {
      id: 'ecological_technology',
      text_en: 'Ecological Breeding Technology',
      text_es: 'Tecnología de Crianza Ecológica',
      text_ja: '生態系養殖技術',
      order: 2
    },
    {
      id: 'fresh_supply',
      text_en: 'Fresh Direct Supply Concept',
      text_es: 'Concepto de Suministro Directo Fresco',
      text_ja: '新鮮直送コンセプト',
      order: 3
    }
  ]),

  about_main_stats: JSON.stringify([
    {
      id: 'experience_years',
      number: '15+',
      label_en: 'Years of Aquaculture Experience',
      label_es: 'Años de Experiencia en Acuicultura',
      label_ja: '水産養殖経験年数',
      order: 1
    },
    {
      id: 'success_cases',
      number: '5000+',
      label_en: 'Quality Customers',
      label_es: 'Clientes de Calidad',
      label_ja: '優良顧客',
      order: 2
    }
  ]),

  // 企业优势页面企业官网样式配置
  advantage_section_title_en: 'Competitive Advantages',
  advantage_section_title_es: 'Ventajas Competitivas',
  advantage_section_title_ja: '競争優位性',

  advantage_content_description_en: 'Innovation-driven and quality-assured, we have significant competitive advantages in all aspects. The company always adheres to the customer-first service concept and continuously improves its own strength.',
  advantage_content_description_es: 'Impulsados por la innovación y la garantía de calidad, tenemos ventajas competitivas significativas en todos los aspectos. La empresa siempre se adhiere al concepto de servicio centrado en el cliente y mejora continuamente su propia fortaleza.',
  advantage_content_description_ja: 'イノベーションを原動力とし、品質を保証して、あらゆる面で大きな競争優位性を持っています。当社は常に顧客第一のサービスコンセプトを堅持し、自社の実力を絶えず向上させています。',

  advantage_features: JSON.stringify([
    {
      id: 'technology_advantage',
      text_en: 'Leading Technology Advantage',
      text_es: 'Ventaja Tecnológica Líder',
      text_ja: '技術的リード優位性',
      order: 1
    },
    {
      id: 'quality_assurance',
      text_en: 'Service Quality Guarantee',
      text_es: 'Garantía de Calidad de Servicio',
      text_ja: 'サービス品質保証',
      order: 2
    },
    {
      id: 'cost_optimization',
      text_en: 'Cost-Benefit Optimization',
      text_es: 'Optimización Costo-Beneficio',
      text_ja: 'コスト効率最適化',
      order: 3
    }
  ]),

  advantage_stats: JSON.stringify([
    {
      id: 'partner_farms',
      number: '800+',
      label_en: 'Partner Fish Farms',
      label_es: 'Granjas de Peces Asociadas',
      label_ja: '提携養魚場',
      order: 1
    },
    {
      id: 'customer_satisfaction',
      number: '95%',
      label_en: 'Customer Repurchase Rate',
      label_es: 'Tasa de Recompra de Clientes',
      label_ja: '顧客リピート率',
      order: 2
    }
  ]),

  // 质量页面企业官网样式配置
  quality_section_title_en: 'Aquatic Product Quality Management',
  quality_section_title_es: 'Gestión de Calidad de Productos Acuáticos',
  quality_section_title_ja: '水産品品質管理',

  quality_content_description_en: 'We focus on aquatic product quality control, monitoring the entire process from breeding to dining table. We have established a comprehensive quality management system to ensure that every product meets international advanced standards.',
  quality_content_description_es: 'Nos enfocamos en el control de calidad de productos acuáticos, monitoreando todo el proceso desde la crianza hasta la mesa. Hemos establecido un sistema integral de gestión de calidad para asegurar que cada producto cumpla con los estándares internacionales avanzados.',
  quality_content_description_ja: '私たちは水産品の品質管理に重点を置き、養殖から食卓まで全プロセスを監視しています。すべての製品が国際的な先進基準を満たすよう、包括的な品質管理システムを確立しています。',

  quality_features: JSON.stringify([
    {
      id: 'haccp_certification',
      text_en: 'HACCP Certification System',
      text_es: 'Sistema de Certificación HACCP',
      text_ja: 'HACCP認証システム',
      order: 1
    },
    {
      id: 'cold_chain_monitoring',
      text_en: 'Cold Chain Quality Monitoring',
      text_es: 'Monitoreo de Calidad de Cadena de Frío',
      text_ja: 'コールドチェーン品質監視',
      order: 2
    },
    {
      id: 'food_traceability',
      text_en: 'Food Safety Traceability',
      text_es: 'Trazabilidad de Seguridad Alimentaria',
      text_ja: '食品安全追跡システム',
      order: 3
    }
  ]),

  quality_stats: JSON.stringify([
    {
      id: 'aquaculture_experience',
      number: '20+',
      label_en: 'Years of Aquaculture Experience',
      label_es: 'Años de Experiencia en Acuicultura',
      label_ja: '水産養殖経験年数',
      order: 1
    },
    {
      id: 'safety_rate',
      number: '99.9%',
      label_en: 'Food Safety Rate',
      label_es: 'Tasa de Seguridad Alimentaria',
      label_ja: '食品安全率',
      order: 2
    }
  ])
};

// SQL 插入语句生成函数
function generateInsertSQL() {
  const insertStatements = [];
  
  // 为每个配置项生成 INSERT 语句
  for (const [key, value] of Object.entries(fishCompanyDefaultData)) {
    // 如果是 JSON 字符串，需要进行转义
    const escapedValue = typeof value === 'string' 
      ? value.replace(/'/g, "\\'").replace(/"/g, '\\"')
      : value;
    
    insertStatements.push(
      `INSERT INTO settings (key_name, value, category, description, created_at, updated_at) 
       VALUES ('${key}', '${escapedValue}', 'about', 'Fish company default configuration', NOW(), NOW())
       ON DUPLICATE KEY UPDATE value = VALUES(value), updated_at = NOW();`
    );
  }
  
  return insertStatements.join('\n\n');
}

// 生成 SQL 文件
function generateSQLFile() {
  const sqlContent = `-- 鱼类公司默认配置数据
-- 生成时间: ${new Date().toISOString()}

USE fishwebsystem;

${generateInsertSQL()}

-- 配置数据插入完成
SELECT 'Fish company default data initialization completed.' as status;
`;

  const sqlFilePath = path.join(__dirname, 'fish-company-default-data.sql');
  fs.writeFileSync(sqlFilePath, sqlContent, 'utf8');
  
  console.log('✅ SQL文件已生成:', sqlFilePath);
  console.log('📖 运行以下命令来执行SQL:');
  console.log(`   mysql -u your_username -p fishwebsystem < ${sqlFilePath}`);
}

// 生成 JSON 配置文件（用于API测试）
function generateJSONFile() {
  const jsonFilePath = path.join(__dirname, 'fish-company-default-data.json');
  fs.writeFileSync(jsonFilePath, JSON.stringify(fishCompanyDefaultData, null, 2), 'utf8');
  
  console.log('✅ JSON文件已生成:', jsonFilePath);
}

// 主函数
function main() {
  console.log('🐟 开始生成鱼类公司默认配置数据...\n');
  
  try {
    generateSQLFile();
    generateJSONFile();
    
    console.log('\n🎉 鱼类公司默认配置数据生成完成！');
    console.log('\n📋 包含的配置项:');
    console.log('   - 关于我们页面: 区域标题、内容描述、特性列表、统计数据');
    console.log('   - 企业优势页面: 区域标题、内容描述、特性列表、统计数据');
    console.log('   - 质量管理页面: 区域标题、内容描述、特性列表、统计数据');
    console.log('   - 支持多语言: 中文(默认)、英文、西班牙文、日文');
    
  } catch (error) {
    console.error('❌ 生成配置数据时出错:', error);
  }
}

// 如果直接运行此脚本
if (require.main === module) {
  main();
}

module.exports = {
  fishCompanyDefaultData,
  generateInsertSQL,
  generateSQLFile,
  generateJSONFile
};